package cn.nawang.ebeim.ui.service;

import java.io.UnsupportedEncodingException;
import java.util.List;

import com.alibaba.fastjson.JSONObject;

import cn.nawang.ebeim.client.version.Node;
import cn.nawang.ebeim.ui.bean.FileElement;
import cn.nawang.ebeim.ui.bean.User;

/**
 * @ClassName: DatasourceService
 * @Description: TODO
 * @author fanyb
 * @date Nov 11, 2015 3:42:43 PM
 * @version v1.0
 */
public interface DatasourceService {
  /**
   * 
   * @author fanyb
   * @Description: 获取设备列表
   * @param user
   * @return String
   * @date Nov 11, 20153:48:06 PM
   *
   * @修改人
   * @修改日期
   */
  public JSONObject getDeviceList(User user, JSONObject result);

  /**
   * 
   * @author fanyb
   * @Description: 获取数据源列表
   * @param terminalId
   * @param user
   * @return String
   * @date Nov 11, 20153:59:42 PM
   *
   * @修改人
   * @修改日期
   */
  public JSONObject getDatasourceListByTerminalId(String terminalId, User user, String dsType,
      JSONObject result);

  /**
   * 
   * @author fanyb
   * @Description: 查找文件夹列表
   * @param dsId
   * @param version
   * @param path
   * @return String
   * @date Nov 11, 20154:37:04 PM
   *
   * @修改人
   * @修改日期
   */
  public JSONObject getDirectoryByfileJson(List<FileElement> fileJson, String id, String version,
      String dsId, String root,JSONObject result);

  public List<FileElement> getDirectoryFiles(String dsId, String version, String path, User user)
      throws InterruptedException, UnsupportedEncodingException;

  /**
   * @author zhangjf
   * @Description: 创建文件元素对象
   * @param @param node
   * @param @return
   * @return FileElement
   * @date 2015年10月29日上午8:41:52
   *
   * @修改人 zhangjf
   * @修改日期
   */
  public FileElement createFileElement(Node node);

  public String getStatus(byte status);

  public JSONObject getDataSafeBox(JSONObject result);
}
